home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / docs / misc / amigapl.9805.lzh / log.9805 / text0362.txt < prev    next >
Encoding:
Text File  |  1998-06-01  |  1.9 KB  |  42 lines

  1. On Sun, 10 May 1998, Wojciech Kocjan wrote:
  2.  
  3. > Potrzebuje, azeby biblioteka stworzyla wlasne zadanie. Nie wiem tylko z
  4. > czego skorzystac - z funkcji CreateTask() z amiga.lib czy jakiejs funkcji z
  5. > exec.library?
  6.  
  7. Nie pamietam zbyt dobrze, ale w exec.library to chyba nie ma specjalnie
  8. wielkiego wyboru? Jest AddTask(), ale to jest cholernie nieskopoziomowe.
  9. Wydaje mi sie, ze tylko CreateTask() Ci zostaje, albo cos z dos.library
  10. (CreateNewProc()), choc nie wiem, czy mozesz z dos.library korzystac, bo
  11. funkcja biblioteczna moze byc wywolana z poziomu tasku, nie procesu.
  12.  
  13. > Jedyne, co mi przyszlo do glowy to napisac prosta procke w asemblerze, ktory
  14. > otworzy owa biblioteke i odwola sie do funkcji w bibliotece, ktora bedzie
  15. > glowna czescia tego zadania. To jest chyba bardzo bezpieczne.
  16.  
  17. Nie mam pojecia, o czym mowisz. Po co Ci ten asembler? Czy ta procka to ma
  18. byc zewnetrzny program, uzywajacy biblioteki? Po co wywolanie funkcji z
  19. biblioteki?
  20.  
  21. > Tylko wtedy jest jeden problem: co jesli program uruchamiajacy zadanie
  22. > zakonczy sie (czyli zamknie biblioteke) i w tym czasie zostanie ona usunieta
  23. > (np. C:Avail FLUSH). Calkiem mozliwe, ze wtedy caly system sie sypnie.
  24. > Oczywiscie owa procka w asemblerze otworzy ta biblioteke, ale tak czy owak
  25. > przez pewien okres czasu OpenCount bedzie rowny 0.
  26.  
  27. Nie traktuj OpenCnt z takim nabozenstwem. Jezeli to Ty piszesz biblioteke,
  28. to Ty takze implementujesz LIB_EXPUNGE. OpenCnt jest w gruncie rzeczy do
  29. Twojego uzytku i mozesz go po prostu zignorowac, nawet jezeli jest rowny
  30. 0. Albo mozesz z poziomu programu otworzyc biblioteke, ale jej przy
  31. wychodzeniu nie zamykac: wtedy OpenCnt bedzie zawsze >=1. Tak wiec nie
  32. widze tu zadnego problemu.
  33.  
  34. / Kamil Iskra - AMIGA 1200, 68030 50MHz, HDD 1.6 GB, 18 MB RAM \
  35. | iskra@student.uci.agh.edu.pl  kiskra@ernie.icslab.agh.edu.pl |
  36. | http://student.uci.agh.edu.pl/~iskra                         |
  37. \ PGP public key available via Finger or WWW                   /
  38.  
  39.  
  40.  
  41.  
  42.